home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgramD2.iso / Borland / Borland C++ V5.02 / BOLEUI.PAK / OLE2UI.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  37KB  |  1,006 lines

  1. /*
  2.  * OLE2UI.H
  3.  *
  4.  * Published definitions, structures, types, and function prototypes for the
  5.  * OLE 2.0 User Interface support library.
  6.  *
  7.  */
  8.  
  9. /* NOTE: All dialog and string resource ID's defined in this file are
  10.  *    in the range:
  11.  *          32248 - 32504   (0x7DF8 - 0x7EF8)
  12. */
  13.  
  14. /*
  15.  *      C/C++ Run Time Library - Version 6.5
  16.  *
  17.  *      Copyright (c) 1994 by Borland International
  18.  *      All Rights Reserved.
  19.  *
  20.  */
  21.  
  22. #ifndef _OLE2UI_H_
  23. #define _OLE2UI_H_
  24.  
  25. #ifndef RC_INVOKED
  26. //#pragma message ("Including OLE2UI.H from " __FILE__)
  27. #endif  // !RC_INVOKED
  28.  
  29. #ifdef WIN32
  30. #define _INC_OLE
  31. #define __RPC_H__
  32. #endif
  33.  
  34. #if !defined(__cplusplus) && !defined( __TURBOC__)
  35. #define NONAMELESSUNION     // use strict ANSI standard (for DVOBJ.H)
  36. #endif
  37.  
  38. #ifndef RC_INVOKED
  39. #include <windows.h>
  40. #include <shellapi.h>
  41. #include <ole2.h>
  42. #include <string.h>
  43. #endif // !RC_INVOKED
  44. #include <dlgs.h>           //For fileopen dlg; standard include
  45.  
  46. #include "olestd.h"
  47.  
  48. #if !defined(HKEY_CLASSES_ROOT)
  49. #define HKEY_CLASSES_ROOT   1     
  50. #endif                            
  51.  
  52. #if !defined(REG_SZ)
  53. #define REG_SZ              1
  54. #endif
  55.  
  56. #ifdef __TURBOC__
  57. #define _getcwd getcwd
  58. #define _itoa   itoa
  59. #define __max   max
  60. #define _find_t find_t
  61. #endif // __TURBOC__
  62.  
  63. #ifdef WIN32
  64. #define _fmemset memset
  65. #define _fmemcpy memcpy
  66. #define _fmemcmp memcmp
  67. #define _fstrcpy strcpy
  68. #define _fstrlen strlen
  69. #define _fstrrchr strrchr
  70. #define _fstrtok strtok
  71. #define lstrcpyn strncpy
  72.  
  73. // BUGBUG32: isspace function does not seem to work properly
  74. #undef isspace
  75. #define isspace(j) (j==' ' || j=='\t' || j=='\n')
  76. #endif  // WIN32
  77.  
  78. #if !defined( EXPORT )
  79. #ifdef WIN32
  80. #define EXPORT
  81. #else
  82. #define EXPORT  __export
  83. #endif  // WIN32
  84. #endif  // !EXPORT
  85.  
  86. #ifndef RC_INVOKED
  87. void BOleHelpNotify (DWORD, int);
  88. #endif // !RC_INVOKED
  89.  
  90. /*
  91.  * Initialization / Uninitialization routines.  OleUIInitialize
  92.  * must be called prior to using any functions in OLE2UI, and OleUIUnInitialize
  93.  * must be called before you app shuts down and when you are done using the
  94.  * library.
  95.  *
  96.  * NOTE:  If you are using the DLL version of this library, these functions
  97.  * are automatically called in the DLL's LibMain and WEP, so you should
  98.  * not call them directly from your application.
  99.  */
  100.  
  101. #ifndef RC_INVOKED
  102.  
  103. // Backward compatibility with older library
  104. #define OleUIUninitialize OleUIUnInitialize
  105.  
  106. void Ctl3DSubDlg(HWND hwnd);
  107. STDAPI_(BOOL) OleUIInitialize(HINSTANCE hInstance, HINSTANCE hPrevInst);
  108. STDAPI_(BOOL) OleUIUninitialize(void);
  109.  
  110. #endif // !RC_INVOKED
  111.  
  112. #if !defined( SZCLASSICONBOX )
  113. #define SZCLASSICONBOX  "ole2uiIBCls"
  114. #endif
  115.  
  116. #if !defined( SZCLASSRESULTIMAGE )
  117. #define SZCLASSRESULTIMAGE  "ole2uiRICls"
  118. #endif
  119.  
  120. #ifndef RC_INVOKED
  121.  
  122. // object count, used to support DllCanUnloadNow and OleUICanUnloadNow
  123. extern DWORD g_dwObjectCount;
  124.  
  125. STDAPI OleUICanUnloadNow(void);
  126. STDAPI OleUILockLibrary(BOOL fLock);
  127.  
  128. #endif // !RC_INVOKED
  129.  
  130. // Win 4.0 styles
  131. //
  132. #if !defined(DS_3DLOOK)
  133. #define DS_3DLOOK   0x04L
  134. #endif
  135.  
  136. //Dialog Identifiers as passed in Help messages to identify the source.
  137. #define IDD_INSERTOBJECT        32248
  138. #define IDD_CHANGEICON          32249
  139. #define IDD_CONVERT             32250
  140. #define IDD_PASTESPECIAL        32251
  141. #define IDD_EDITLINKS           32252
  142. #define IDD_FILEOPEN            32253
  143. #define IDD_BUSY                32254
  144. #define IDD_UPDATELINKS         32255
  145. #define IDD_CANNOTUPDATELINK    32256
  146. #define IDD_CHANGESOURCE        32257
  147. #define IDD_INSERTFILEBROWSE    32258
  148. #define IDD_CHANGEICONBROWSE    32259
  149.  
  150. // The following Dialogs are message dialogs used by OleUIPromptUser API
  151. #define IDD_LINKSOURCEUNAVAILABLE   32260
  152. #define IDD_SERVERNOTREG        32261
  153. #define IDD_LINKTYPECHANGED     32262
  154. #define IDD_SERVERNOTFOUND      32263
  155. #define IDD_OUTOFMEMORY         32264
  156. #define IDD_INSERTCONTROL       32265
  157.  
  158. // Stringtable identifers
  159. #define IDS_OLE2UIUNKNOWN       32300
  160. #define IDS_OLE2UILINK          32301
  161. #define IDS_OLE2UIOBJECT        32302
  162. #define IDS_OLE2UIEDIT          32303
  163. #define IDS_OLE2UICONVERT       32304
  164. #define IDS_OLE2UIEDITLINKCMD_1VERB     32305
  165. #define IDS_OLE2UIEDITOBJECTCMD_1VERB   32306
  166. #define IDS_OLE2UIEDITLINKCMD_NVERB     32307
  167. #define IDS_OLE2UIEDITOBJECTCMD_NVERB   32308
  168. #define IDS_OLE2UIEDITNOOBJCMD  32309
  169. // def. icon label (usu. "Document")
  170. #define IDS_DEFICONLABEL        32310
  171. #define IDS_OLE2UIPASTELINKEDTYPE  32311
  172.  
  173.  
  174. #define IDS_FILTERS             32320
  175. #define IDS_ICONFILTERS         32321
  176. #define IDS_BROWSE              32322
  177.  
  178. //Resource identifiers for bitmaps
  179. #define IDB_RESULTSEGA                  32325
  180. #define IDB_RESULTSVGA                  32326
  181. #define IDB_RESULTSHIRESVGA             32327
  182.  
  183.  
  184. #ifndef RC_INVOKED
  185.  
  186. //Missing from windows.h
  187. #ifndef PVOID
  188. typedef VOID *PVOID;
  189. #endif
  190.  
  191.  
  192. //Hook type used in all structures.
  193. typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
  194.  
  195.  
  196. //Strings for registered messages
  197. #define SZOLEUI_MSG_HELP                "OLEUI_MSG_HELP"
  198. #define SZOLEUI_MSG_ENDDIALOG           "OLEUI_MSG_ENDDIALOG"
  199. #define SZOLEUI_MSG_BROWSE              "OLEUI_MSG_BROWSE"
  200. #define SZOLEUI_MSG_CHANGEICON          "OLEUI_MSG_CHANGEICON"
  201. #define SZOLEUI_MSG_CLOSEBUSYDIALOG     "OLEUI_MSG_CLOSEBUSYDIALOG"
  202. #define SZOLEUI_MSG_FILEOKSTRING        "OLEUI_MSG_FILEOKSTRING"
  203.  
  204. #endif // !RC_INVOKED
  205.  
  206. //Standard error definitions
  207. #define OLEUI_FALSE                     0
  208. #define OLEUI_SUCCESS                   1     //No error, same as OLEUI_OK
  209. #define OLEUI_OK                        1     //OK button pressed
  210. #define OLEUI_CANCEL                    2     //Cancel button pressed
  211.  
  212. #define OLEUI_ERR_STANDARDMIN           100
  213. #define OLEUI_ERR_STRUCTURENULL         101   //Standard field validation
  214. #define OLEUI_ERR_STRUCTUREINVALID      102
  215. #define OLEUI_ERR_CBSTRUCTINCORRECT     103
  216. #define OLEUI_ERR_HWNDOWNERINVALID      104
  217. #define OLEUI_ERR_LPSZCAPTIONINVALID    105
  218. #define OLEUI_ERR_LPFNHOOKINVALID       106
  219. #define OLEUI_ERR_HINSTANCEINVALID      107
  220. #define OLEUI_ERR_LPSZTEMPLATEINVALID   108
  221. #define OLEUI_ERR_HRESOURCEINVALID      109
  222.  
  223. #define OLEUI_ERR_FINDTEMPLATEFAILURE   110   //Initialization errors
  224. #define OLEUI_ERR_LOADTEMPLATEFAILURE   111
  225. #define OLEUI_ERR_DIALOGFAILURE         112
  226. #define OLEUI_ERR_LOCALMEMALLOC         113
  227. #define OLEUI_ERR_GLOBALMEMALLOC        114
  228. #define OLEUI_ERR_LOADSTRING            115
  229.  
  230. #define OLEUI_ERR_STANDARDMAX           116   //Start here for specific errors.
  231.  
  232.  
  233. //Help Button Identifier
  234. #define ID_OLEUIHELP                    99
  235.  
  236. // Help button for fileopen.dlg  (need this for resizing) 1038 is pshHelp
  237. #define BOLEUI_IDHELP  1038
  238.  
  239. // Static text control (use this instead of -1 so things work correctly for
  240. // localization
  241. #define  ID_STATIC                      98
  242.  
  243. //Maximum key size we read from the RegDB.
  244. #define OLEUI_CCHKEYMAX                 256  // make any changes to this in geticon.c too
  245.  
  246. //Maximum verb length and length of Object menu
  247. #define OLEUI_CCHVERBMAX                32
  248. #define OLEUI_OBJECTMENUMAX             256
  249.  
  250. //Maximum MS-DOS pathname.
  251. #define OLEUI_CCHPATHMAX                256 // make any changes to this in geticon.c too
  252. #define OLEUI_CCHFILEMAX                13
  253.  
  254. //Icon label length
  255. #define OLEUI_CCHLABELMAX               40  // make any changes to this in geticon.c too
  256.  
  257. //Length of the CLSID string
  258. #define OLEUI_CCHCLSIDSTRING            39
  259.  
  260.  
  261. /*
  262.  * What follows here are first function prototypes for general utility
  263.  * functions, then sections laid out by dialog.  Each dialog section
  264.  * defines the dialog structure, the API prototype, flags for the dwFlags
  265.  * field, the dialog-specific error values, and dialog control IDs (for
  266.  * hooks and custom templates.
  267.  */
  268.  
  269. #ifndef RC_INVOKED
  270.  
  271. //Miscellaneous utility functions.
  272. STDAPI_(BOOL) OleUIAddVerbMenu(LPOLEOBJECT lpOleObj,
  273.                              LPSTR lpszShortType,
  274.                              HMENU hMenu,
  275.                              UINT uPos,
  276.                              UINT uIDVerbMin,
  277.                              UINT uIDVerbMax,
  278.                              BOOL bAddConvert,
  279.                              UINT idConvert,
  280.                              HMENU FAR *lphMenu);
  281.  
  282. //Metafile utility functions
  283. STDAPI_(HGLOBAL) OleUIMetafilePictFromIconAndLabel(HICON, LPSTR, LPSTR, UINT);
  284. STDAPI_(void)    OleUIMetafilePictIconFree(HGLOBAL);
  285. STDAPI_(BOOL)    OleUIMetafilePictIconDraw(HDC, LPRECT, HGLOBAL, BOOL);
  286. STDAPI_(UINT)    OleUIMetafilePictExtractLabel(HGLOBAL, LPSTR, UINT, LPDWORD);
  287. STDAPI_(HICON)   OleUIMetafilePictExtractIcon(HGLOBAL);
  288. STDAPI_(BOOL)    OleUIMetafilePictExtractIconSource(HGLOBAL,LPSTR,UINT FAR *);
  289.  
  290. #endif // !RC_INVOKED
  291.  
  292.  
  293. /*************************************************************************
  294. ** INSERT OBJECT DIALOG
  295. *************************************************************************/
  296.  
  297. #ifndef RC_INVOKED
  298.  
  299. typedef struct tagOLEUIINSERTOBJECT
  300.     {
  301.     //These IN fields are standard across all OLEUI dialog functions.
  302.     DWORD           cbStruct;         //Structure Size
  303.     DWORD           dwFlags;          //IN-OUT:  Flags
  304.     HWND            hWndOwner;        //Owning window
  305.     LPCSTR          lpszCaption;      //Dialog caption bar contents
  306.     LPFNOLEUIHOOK   lpfnHook;         //Hook callback
  307.     LPARAM          lCustData;        //Custom data to pass to hook
  308.     HINSTANCE       hInstance;        //Instance for customized template name
  309.     LPCSTR          lpszTemplate;     //Customized template name
  310.     HRSRC           hResource;        //Customized template handle
  311.     DWORD           dwIBApplication;  //Bolero app ptr for help
  312.     HHOOK           hHook;            //Bolero F1 hook
  313.     HTASK           hTask;            //Bolero task for F1 hook
  314.  
  315.     //Specifics for OLEUIINSERTOBJECT.  All are IN-OUT unless otherwise spec.
  316.     CLSID           clsid;            //Return space for class ID
  317.     LPSTR           lpszFile;         //Filename for inserts or links
  318.     UINT            cchFile;          //Size of lpszFile buffer: OLEUI_CCHPATHMAX
  319.     UINT            cClsidExclude;    //IN only:  CLSIDs in lpClsidExclude
  320.     LPCLSID         lpClsidExclude;   //List of CLSIDs to exclude from listing.
  321.  
  322.     BOOL                 fBrowseHelp; //PHP whether to do help on browse?
  323.  
  324.     //Specific to create objects if flags say so
  325.     IID             iid;              //Requested interface on creation.
  326.     DWORD           oleRender;        //Rendering option
  327.     LPFORMATETC     lpFormatEtc;      //Desired format
  328.     LPOLECLIENTSITE lpIOleClientSite; //Site to be use for the object.
  329.     LPSTORAGE       lpIStorage;       //Storage used for the object
  330.     LPVOID FAR     *ppvObj;           //Where the object is returned.
  331.     SCODE           sc;               //Result of creation calls.
  332.     HGLOBAL         hMetaPict;        //OUT: METAFILEPICT containing iconic aspect.
  333.                                       //IFF we couldn't stuff it in the cache.
  334.     } OLEUIINSERTOBJECT, *POLEUIINSERTOBJECT, FAR *LPOLEUIINSERTOBJECT;
  335.  
  336. //API prototype
  337. STDAPI_(UINT) OleUIInsertObject(LPOLEUIINSERTOBJECT);
  338. STDAPI_(UINT) OleUIInsertControl(LPOLEUIINSERTOBJECT);
  339.  
  340. #endif // !RC_INVOKED
  341.  
  342. //Insert Object flags
  343. #define IOF_SHOWHELP                0x00000001L
  344. #define IOF_SELECTCREATENEW         0x00000002L
  345. #define IOF_SELECTCREATEFROMFILE    0x00000004L
  346. #define IOF_CHECKLINK               0x00000008L
  347. #define IOF_CHECKDISPLAYASICON      0x00000010L
  348. #define IOF_CREATENEWOBJECT         0x00000020L
  349. #define IOF_CREATEFILEOBJECT        0x00000040L
  350. #define IOF_CREATELINKOBJECT        0x00000080L
  351. #define IOF_DISABLELINK             0x00000100L
  352. #define IOF_VERIFYSERVERSEXIST      0x00000200L
  353. #define IOF_DISABLEDISPLAYASICON    0x00000400L
  354.  
  355.  
  356. //Insert Object specific error codes
  357. #define OLEUI_IOERR_LPSZFILEINVALID         (OLEUI_ERR_STANDARDMAX+0)
  358. #define OLEUI_IOERR_LPSZLABELINVALID        (OLEUI_ERR_STANDARDMAX+1)
  359. #define OLEUI_IOERR_HICONINVALID            (OLEUI_ERR_STANDARDMAX+2)
  360. #define OLEUI_IOERR_LPFORMATETCINVALID      (OLEUI_ERR_STANDARDMAX+3)
  361. #define OLEUI_IOERR_PPVOBJINVALID           (OLEUI_ERR_STANDARDMAX+4)
  362. #define OLEUI_IOERR_LPIOLECLIENTSITEINVALID (OLEUI_ERR_STANDARDMAX+5)
  363. #define OLEUI_IOERR_LPISTORAGEINVALID       (OLEUI_ERR_STANDARDMAX+6)
  364. #define OLEUI_IOERR_SCODEHASERROR           (OLEUI_ERR_STANDARDMAX+7)
  365. #define OLEUI_IOERR_LPCLSIDEXCLUDEINVALID   (OLEUI_ERR_STANDARDMAX+8)
  366. #define OLEUI_IOERR_CCHFILEINVALID          (OLEUI_ERR_STANDARDMAX+9)
  367.  
  368.  
  369. //Insert Object Dialog identifiers
  370. #define ID_IO_CREATENEW                 2100
  371. #define ID_IO_CREATEFROMFILE            2101
  372. #define ID_IO_LINKFILE                  2102
  373. #define ID_IO_OBJECTTYPELIST            2103
  374. #define ID_IO_DISPLAYASICON             2104
  375. #define ID_IO_CHANGEICON                2105
  376. #define ID_IO_FILE                      2106
  377. #define ID_IO_FILEDISPLAY               2107
  378. #define ID_IO_RESULTIMAGE               2108
  379. #define ID_IO_RESULTTEXT                2109
  380. #define ID_IO_ICONDISPLAY               2110
  381. #define ID_IO_OBJECTTYPETEXT            2111
  382. #define ID_IO_FILETEXT                  2112
  383. #define ID_IO_FILETYPE                  2113
  384.  
  385. // Strings in OLE2UI resources
  386. #define IDS_IORESULTNEW                 32400
  387. #define IDS_IORESULTNEWICON             32401
  388. #define IDS_IORESULTFROMFILE1           32402
  389. #define IDS_IORESULTFROMFILE2           32403
  390. #define IDS_IORESULTFROMFILEICON2       32404
  391. #define IDS_IORESULTLINKFILE1           32405
  392. #define IDS_IORESULTLINKFILE2           32406
  393. #define IDS_IORESULTLINKFILEICON1       32407
  394. #define IDS_IORESULTLINKFILEICON2       32408
  395.  
  396. /*************************************************************************
  397. ** PASTE SPECIAL DIALOG
  398. *************************************************************************/
  399.  
  400. #ifndef RC_INVOKED
  401.  
  402. // Maximum number of link types
  403. #define     PS_MAXLINKTYPES  8
  404.  
  405. //NOTE: OLEUIPASTEENTRY and OLEUIPASTEFLAG structs are defined in OLESTD.H
  406.  
  407. typedef struct tagOLEUIPASTESPECIAL
  408.     {
  409.     //These IN fields are standard across all OLEUI dialog functions.
  410.     DWORD           cbStruct;       //Structure Size
  411.     DWORD           dwFlags;        //IN-OUT:  Flags
  412.     HWND            hWndOwner;      //Owning window
  413.     LPCSTR          lpszCaption;    //Dialog caption bar contents
  414.     LPFNOLEUIHOOK   lpfnHook;       //Hook callback
  415.     LPARAM          lCustData;      //Custom data to pass to hook
  416.     HINSTANCE       hInstance;      //Instance for customized template name
  417.     LPCSTR          lpszTemplate;   //Customized template name
  418.     HRSRC           hResource;      //Customized template handle
  419.     DWORD           dwIBApplication;  //Bolero app ptr for help
  420.     HHOOK           hHook;            //Bolero F1 hook
  421.     HTASK           hTask;            //Bolero task for F1 hook
  422.  
  423.     //Specifics for OLEUIPASTESPECIAL.
  424.  
  425.     //IN  fields
  426.     LPDATAOBJECT    lpSrcDataObj;       //Source IDataObject* (on the
  427.                                         // clipboard) for data to paste
  428.  
  429.     LPOLEUIPASTEENTRY arrPasteEntries;  //OLEUIPASTEENTRY array which
  430.                                         // specifies acceptable formats. See
  431.                                         // OLEUIPASTEENTRY for more info.
  432.     int             cPasteEntries;      //No. of OLEUIPASTEENTRY array entries
  433.  
  434.     UINT        FAR *arrLinkTypes;      //List of link types that are
  435.                                         // acceptable. Link types are referred
  436.                                         // to using OLEUIPASTEFLAGS in
  437.                                         // arrPasteEntries
  438.     int             cLinkTypes;         //Number of link types
  439.     UINT            cClsidExclude;      //Number of CLSIDs in lpClsidExclude
  440.     LPCLSID         lpClsidExclude;     //List of CLSIDs to exclude from list.
  441.  
  442.     //OUT fields
  443.     int             nSelectedIndex;     //Index of arrPasteEntries[] that the
  444.                                         // user selected
  445.     BOOL            fLink;              //Indicates if Paste or Paste Link was
  446.                                         // selected by the user
  447.     HGLOBAL         hMetaPict;          //Handle to Metafile containing icon
  448.                                         // and icon title selected by the user
  449.                                         // Use the Metafile utility functions
  450.                                         // defined in this header to
  451.                                         // manipulate hMetaPict
  452.     SIZEL           sizel;              // size of object/link in its source
  453.                                         //  if the display aspect chosen by
  454.                                         //  the user matches the aspect
  455.                                         //  displayed in the source. if
  456.                                         //  different aspect is chosen then
  457.                                         //  sizel.cx=sizel.cy=0 is returned.
  458.                                         //  sizel displayed in source is
  459.                                         //  retrieved from the
  460.                                         //  ObjectDescriptor if fLink is FALSE
  461.                                         //  LinkSrcDescriptor if fLink is TRUE
  462.     } OLEUIPASTESPECIAL, *POLEUIPASTESPECIAL, FAR *LPOLEUIPASTESPECIAL;
  463.  
  464.  
  465. //API to bring up PasteSpecial dialog
  466. STDAPI_(UINT) OleUIPasteSpecial(LPOLEUIPASTESPECIAL);
  467.  
  468. //Paste Special flags
  469. // Show Help button. IN flag.
  470. #define PSF_SHOWHELP                0x00000001L
  471.  
  472. //Select Paste radio button at dialog startup. This is the default if
  473. // PSF_SELECTPASTE or PSF_SELECTPASTELINK are not specified. Also specifies
  474. // state of button on dialog termination. IN/OUT flag.
  475. #define PSF_SELECTPASTE             0x00000002L
  476.  
  477. //Select PasteLink radio button at dialog startup. Also specifies state of
  478. // button on dialog termination. IN/OUT flag.
  479. #define PSF_SELECTPASTELINK         0x00000004L
  480.  
  481. //Specfies if DisplayAsIcon button was checked on dialog termination. OUT flag
  482. #define PSF_CHECKDISPLAYASICON      0x00000008L
  483. #define PSF_DISABLEDISPLAYASICON    0x00000010L
  484.  
  485.  
  486. //Paste Special specific error codes
  487. #define OLEUI_IOERR_SRCDATAOBJECTINVALID      (OLEUI_ERR_STANDARDMAX+0)
  488. #define OLEUI_IOERR_ARRPASTEENTRIESINVALID    (OLEUI_ERR_STANDARDMAX+1)
  489. #define OLEUI_IOERR_ARRLINKTYPESINVALID       (OLEUI_ERR_STANDARDMAX+2)
  490. #define OLEUI_PSERR_CLIPBOARDCHANGED          (OLEUI_ERR_STANDARDMAX+3)
  491.  
  492. #endif // !RC_INVOKED
  493.  
  494. //Paste Special Dialog identifiers
  495. #define ID_PS_PASTE                    500
  496. #define ID_PS_PASTELINK                501
  497. #define ID_PS_SOURCETEXT               502
  498. #define ID_PS_PASTELIST                503
  499. #define ID_PS_PASTELINKLIST            504
  500. #define ID_PS_DISPLAYLIST              505
  501. #define ID_PS_DISPLAYASICON            506
  502. #define ID_PS_ICONDISPLAY              507
  503. #define ID_PS_CHANGEICON               508
  504. #define ID_PS_RESULTIMAGE              509
  505. #define ID_PS_RESULTTEXT               510
  506. #define ID_PS_RESULTGROUP              511
  507. #define ID_PS_STXSOURCE                512
  508. #define ID_PS_STXAS                    513
  509.  
  510. // Paste Special String IDs
  511. #define IDS_PSPASTEDATA                32410
  512. #define IDS_PSPASTEOBJECT              32411
  513. #define IDS_PSPASTEOBJECTASICON        32412
  514. #define IDS_PSPASTELINKDATA            32413
  515. #define IDS_PSPASTELINKOBJECT          32414
  516. #define IDS_PSPASTELINKOBJECTASICON    32415
  517. #define IDS_PSNONOLE                   32416
  518. #define IDS_PSUNKNOWNTYPE              32417
  519. #define IDS_PSUNKNOWNSRC               32418
  520. #define IDS_PSUNKNOWNAPP               32419
  521.  
  522.  
  523. /*************************************************************************
  524. ** EDIT LINKS DIALOG
  525. *************************************************************************/
  526.  
  527. #ifndef RC_INVOKED
  528.  
  529. /* IOleUILinkContainer Interface
  530. ** -----------------------------
  531. **    This interface must be implemented by container applications that
  532. **    want to use the EditLinks dialog. the EditLinks dialog calls back
  533. **    to the container app to perform the OLE functions to manipulate
  534. **    the links within the container.
  535. */
  536.  
  537. #define LPOLEUILINKCONTAINER     IOleUILinkContainer FAR*
  538.  
  539. #undef  INTERFACE
  540. #define INTERFACE   IOleUILinkContainer
  541.  
  542. DECLARE_INTERFACE_(IOleUILinkContainer, IUnknown)
  543. {
  544.     //*** IUnknown methods ***/
  545.     STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  546.     STDMETHOD_(ULONG,AddRef) (THIS) PURE;
  547.     STDMETHOD_(ULONG,Release) (THIS) PURE;
  548.  
  549.     STDMETHOD_(DWORD,GetNextLink) (THIS_ DWORD dwLink) PURE;
  550.     STDMETHOD(SetLinkUpdateOptions) (THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE;
  551.     STDMETHOD(GetLinkUpdateOptions) (THIS_ DWORD dwLink, DWORD FAR* lpdwUpdateOpt) PURE;
  552.     STDMETHOD(SetLinkSource) (THIS_
  553.             DWORD       dwLink,
  554.             LPSTR       lpszDisplayName,
  555.             ULONG       lenFileName,
  556.             ULONG FAR*  pchEaten,
  557.             BOOL        fValidateSource) PURE;
  558.     STDMETHOD(GetLinkSource) (THIS_
  559.             DWORD       dwLink,
  560.             LPSTR FAR*  lplpszDisplayName,
  561.             ULONG FAR*  lplenFileName,
  562.             LPSTR FAR*  lplpszFullLinkType,
  563.             LPSTR FAR*  lplpszShortLinkType,
  564.             BOOL FAR*   lpfSourceAvailable,
  565.             BOOL FAR*   lpfIsSelected) PURE;
  566.     STDMETHOD(OpenLinkSource) (THIS_ DWORD dwLink) PURE;
  567.     STDMETHOD(UpdateLink) (THIS_
  568.             DWORD dwLink,
  569.             BOOL fErrorMessage,
  570.             BOOL fErrorAction) PURE;
  571.     STDMETHOD(CancelLink) (THIS_ DWORD dwLink) PURE;
  572. };
  573.  
  574.  
  575. typedef struct tagOLEUIEDITLINKS
  576.     {
  577.     //These IN fields are standard across all OLEUI dialog functions.
  578.     DWORD           cbStruct;       //Structure Size
  579.     DWORD           dwFlags;        //IN-OUT:  Flags
  580.     HWND            hWndOwner;      //Owning window
  581.     LPCSTR          lpszCaption;    //Dialog caption bar contents
  582.     LPFNOLEUIHOOK   lpfnHook;       //Hook callback
  583.     LPARAM          lCustData;      //Custom data to pass to hook
  584.     HINSTANCE       hInstance;      //Instance for customized template name
  585.     LPCSTR          lpszTemplate;   //Customized template name
  586.     HRSRC           hResource;      //Customized template handle
  587.     DWORD           dwIBApplication;  //Bolero app ptr for help
  588.     HHOOK           hHook;            //Bolero F1 hook
  589.     HTASK           hTask;            //Bolero task for F1 hook
  590.  
  591.     BOOL            fChangeSourceHelp; //PHP
  592.  
  593.     //Specifics for OLEUI<STRUCT>.  All are IN-OUT unless otherwise spec.
  594.  
  595.     LPOLEUILINKCONTAINER lpOleUILinkContainer;  //IN: Interface to manipulate
  596.                                                 //links in the container
  597.     } OLEUIEDITLINKS, *POLEUIEDITLINKS, FAR *LPOLEUIEDITLINKS;
  598.  
  599.  
  600. //API Prototype
  601. STDAPI_(UINT) OleUIEditLinks(LPOLEUIEDITLINKS);
  602.  
  603. #endif // !RC_INVOKED
  604.  
  605. // Edit Links flags
  606. #define ELF_SHOWHELP                0x00000001L
  607. #define ELF_DISABLEUPDATENOW        0x00000002L
  608. #define ELF_DISABLEOPENSOURCE       0x00000004L
  609. #define ELF_DISABLECHANGESOURCE     0x00000008L
  610. #define ELF_DISABLECANCELLINK       0x00000010L
  611.  
  612. // Edit Links Dialog identifiers
  613. #define ID_EL_CHANGESOURCE             201
  614. #define ID_EL_AUTOMATIC                202
  615. #define ID_EL_CLOSE                    208
  616. #define ID_EL_CANCELLINK               209
  617. #define ID_EL_UPDATENOW                210
  618. #define ID_EL_OPENSOURCE               211
  619. #define ID_EL_MANUAL                   212
  620. #define ID_EL_LINKSOURCE               216
  621. #define ID_EL_LINKTYPE                 217
  622. #define ID_EL_UPDATE                   218
  623. #define ID_EL_NULL                     -1
  624. #define ID_EL_LINKSLISTBOX             206
  625. #define ID_EL_COL1                     220
  626. #define ID_EL_COL2                     221
  627. #define ID_EL_COL3                     222
  628.  
  629.  
  630.  
  631. /*************************************************************************
  632. ** CHANGE ICON DIALOG
  633. *************************************************************************/
  634.  
  635. #ifndef RC_INVOKED
  636.  
  637. typedef struct tagOLEUICHANGEICON
  638.     {
  639.     //These IN fields are standard across all OLEUI dialog functions.
  640.     DWORD           cbStruct;       //Structure Size
  641.     DWORD           dwFlags;        //IN-OUT:  Flags
  642.     HWND            hWndOwner;      //Owning window
  643.     LPCSTR          lpszCaption;    //Dialog caption bar contents
  644.     LPFNOLEUIHOOK   lpfnHook;       //Hook callback
  645.     LPARAM          lCustData;      //Custom data to pass to hook
  646.     HINSTANCE       hInstance;      //Instance for customized template name
  647.     LPCSTR          lpszTemplate;   //Customized template name
  648.     HRSRC           hResource;      //Customized template handle
  649.     DWORD           dwIBApplication;  //Bolero app ptr for help
  650.     HHOOK           hHook;            //Bolero F1 hook
  651.     HTASK           hTask;            //Bolero task for F1 hook
  652.  
  653.     BOOL fBrowseIconHelp; //PHP
  654.  
  655.     //Specifics for OLEUICHANGEICON.  All are IN-OUT unless otherwise spec.
  656.     HGLOBAL         hMetaPict;      //Current and final image.  Source of the
  657.                                     //icon is embedded in the metafile itself.
  658.     CLSID           clsid;          //IN only: class used to get Default icon
  659.     char            szIconExe[OLEUI_CCHPATHMAX];
  660.     int             cchIconExe;
  661.     } OLEUICHANGEICON, *POLEUICHANGEICON, FAR *LPOLEUICHANGEICON;
  662.  
  663.  
  664. //API prototype
  665. STDAPI_(UINT) OleUIChangeIcon(LPOLEUICHANGEICON);
  666.  
  667. #endif // !RC_INVOKED
  668.  
  669. //Change Icon flags
  670. #define CIF_SHOWHELP                0x00000001L
  671. #define CIF_SELECTCURRENT           0x00000002L
  672. #define CIF_SELECTDEFAULT           0x00000004L
  673. #define CIF_SELECTFROMFILE          0x00000008L
  674. #define CIF_USEICONEXE              0x0000000aL
  675.  
  676.  
  677. //Change Icon specific error codes
  678. #define OLEUI_CIERR_MUSTHAVECLSID           (OLEUI_ERR_STANDARDMAX+0)
  679. #define OLEUI_CIERR_MUSTHAVECURRENTMETAFILE (OLEUI_ERR_STANDARDMAX+1)
  680. #define OLEUI_CIERR_SZICONEXEINVALID        (OLEUI_ERR_STANDARDMAX+2)
  681.  
  682.  
  683. //Change Icon Dialog identifiers
  684. #define ID_GROUP                    120
  685. #define ID_CURRENT                  121
  686. #define ID_CURRENTICON              122
  687. #define ID_DEFAULT                  123
  688. #define ID_DEFAULTICON              124
  689. #define ID_FROMFILE                 125
  690. #define ID_FROMFILEEDIT             126
  691. #define ID_ICONLIST                 127
  692. #define ID_LABEL                    128
  693. #define ID_LABELEDIT                129
  694. #define ID_BROWSE                   130
  695. #define ID_RESULTICON               132
  696. #define ID_RESULTLABEL              133
  697.  
  698. // Stringtable defines for Change Icon
  699. #define IDS_CINOICONSINFILE         32430
  700. #define IDS_CIINVALIDFILE           32431
  701. #define IDS_CIFILEACCESS            32432
  702. #define IDS_CIFILESHARE             32433
  703. #define IDS_CIFILEOPENFAIL          32434
  704.  
  705.  
  706.  
  707. /*************************************************************************
  708. ** CONVERT DIALOG
  709. *************************************************************************/
  710.  
  711. #ifndef RC_INVOKED
  712.  
  713. typedef struct tagOLEUICONVERT
  714.     {
  715.     //These IN fields are standard across all OLEUI dialog functions.
  716.     DWORD           cbStruct;         //Structure Size
  717.     DWORD           dwFlags;          //IN-OUT:  Flags
  718.     HWND            hWndOwner;        //Owning window
  719.     LPCSTR          lpszCaption;      //Dialog caption bar contents
  720.     LPFNOLEUIHOOK   lpfnHook;         //Hook callback
  721.     LPARAM          lCustData;        //Custom data to pass to hook
  722.     HINSTANCE       hInstance;        //Instance for customized template name
  723.     LPCSTR          lpszTemplate;     //Customized template name
  724.     HRSRC           hResource;        //Customized template handle
  725.     DWORD           dwIBApplication;  //Bolero app ptr for help
  726.     HHOOK           hHook;            //Bolero F1 hook
  727.     HTASK           hTask;            //Bolero task for F1 hook
  728.  
  729.     //Specifics for OLEUICONVERT.  All are IN-OUT unless otherwise spec.
  730.     CLSID           clsid;            //Class ID sent in to dialog: IN only
  731.     CLSID           clsidConvertDefault;  //Class ID to use as convert default: IN only
  732.     CLSID           clsidActivateDefault;  //Class ID to use as activate default: IN only
  733.  
  734.     CLSID           clsidNew;         //Selected Class ID: OUT only
  735.     DWORD           dvAspect;         //IN-OUT, either DVASPECT_CONTENT or
  736.                                       //DVASPECT_ICON
  737.     WORD            wFormat;          //Original data format
  738.     BOOL            fIsLinkedObject;  //IN only; true if object is linked
  739.     HGLOBAL         hMetaPict;        //IN-OUT: METAFILEPICT containing iconic aspect.
  740.     LPSTR           lpszUserType;     //IN-OUT: user type name of original class.
  741.                                       //  We'll do lookup if it's NULL.
  742.                                       //  This gets freed on exit.
  743.     BOOL            fObjectsIconChanged;  // OUT; TRUE if ChangeIcon was called (and not cancelled)
  744.     LPSTR           lpszDefLabel;     //IN-OUT: default label to use for icon.
  745.                                       //  if NULL, the short user type name
  746.                                       //  will be used. if the object is a
  747.                                       //  link, the caller should pass the
  748.                                       //  DisplayName of the link source
  749.                                       //  This gets freed on exit.
  750.  
  751.     UINT            cClsidExclude;    //IN: No. of CLSIDs in lpClsidExclude
  752.     LPCLSID         lpClsidExclude;   //IN: List of CLSIDs to exclude from list
  753.     } OLEUICONVERT, *POLEUICONVERT, FAR *LPOLEUICONVERT;
  754.  
  755.  
  756. //API prototype
  757. STDAPI_(UINT) OleUIConvert(LPOLEUICONVERT);
  758.  
  759. // Determine if there is at least one class that can Convert or ActivateAs
  760. // the given clsid.
  761. STDAPI_(BOOL) OleUICanConvertOrActivateAs(
  762.         REFCLSID    rClsid,
  763.         BOOL        fIsLinkedObject,
  764.         WORD        wFormat
  765. );
  766.  
  767. //Convert Dialog flags
  768.  
  769. // IN only: Shows "HELP" button
  770. #define CF_SHOWHELPBUTTON          0x00000001L
  771.  
  772. // IN only: lets you set the convert default object - the one that is
  773. // selected as default in the convert listbox.
  774. #define CF_SETCONVERTDEFAULT       0x00000002L
  775.  
  776.  
  777. // IN only: lets you set the activate default object - the one that is
  778. // selected as default in the activate listbox.
  779.  
  780. #define CF_SETACTIVATEDEFAULT       0x00000004L
  781.  
  782.  
  783. // IN/OUT: Selects the "Convert To" radio button, is set on exit if
  784. // this button was selected
  785. #define CF_SELECTCONVERTTO         0x00000008L
  786.  
  787. // IN/OUT: Selects the "Activate As" radio button, is set on exit if
  788. // this button was selected
  789. #define CF_SELECTACTIVATEAS        0x00000010L
  790. #define CF_DISABLEDISPLAYASICON    0x00000020L
  791. #define CF_DISABLEACTIVATEAS       0x00000040L
  792.  
  793.  
  794. //Convert specific error codes
  795. #define OLEUI_CTERR_CLASSIDINVALID      (OLEUI_ERR_STANDARDMAX+1)
  796. #define OLEUI_CTERR_DVASPECTINVALID     (OLEUI_ERR_STANDARDMAX+2)
  797. #define OLEUI_CTERR_CBFORMATINVALID     (OLEUI_ERR_STANDARDMAX+3)
  798. #define OLEUI_CTERR_HMETAPICTINVALID    (OLEUI_ERR_STANDARDMAX+4)
  799. #define OLEUI_CTERR_STRINGINVALID       (OLEUI_ERR_STANDARDMAX+5)
  800.  
  801. #endif // !RC_INVOKED
  802.  
  803. //Convert Dialog identifiers
  804. #define IDCV_OBJECTTYPE             150
  805. #define IDCV_DISPLAYASICON          152
  806. #define IDCV_CHANGEICON             153
  807. #define IDCV_ACTIVATELIST           154
  808. #define IDCV_CONVERTTO              155
  809. #define IDCV_ACTIVATEAS             156
  810. #define IDCV_RESULTTEXT             157
  811. #define IDCV_CONVERTLIST            158
  812. #define IDCV_ICON                   159
  813. #define IDCV_ICONLABEL1             160
  814. #define IDCV_ICONLABEL2             161
  815. #define IDCV_STXCURTYPE             162
  816. #define IDCV_GRPRESULT              163
  817. #define IDCV_STXCONVERTTO           164
  818.  
  819. // String IDs for Convert dialog
  820. #define IDS_CVRESULTCONVERTLINK     32440
  821. #define IDS_CVRESULTCONVERTTO       32441
  822. #define IDS_CVRESULTNOCHANGE        32442
  823. #define IDS_CVRESULTDISPLAYASICON   32443
  824. #define IDS_CVRESULTACTIVATEAS      32444
  825. #define IDS_CVRESULTACTIVATEDIFF    32445
  826.  
  827.  
  828. /*************************************************************************
  829. ** BUSY DIALOG
  830. *************************************************************************/
  831.  
  832. #ifndef RC_INVOKED
  833.  
  834. typedef struct tagOLEUIBUSY
  835.     {
  836.     //These IN fields are standard across all OLEUI dialog functions.
  837.     DWORD           cbStruct;         //Structure Size
  838.     DWORD           dwFlags;          //IN-OUT:  Flags ** NOTE ** this dialog has no flags
  839.     HWND            hWndOwner;        //Owning window
  840.     LPCSTR          lpszCaption;      //Dialog caption bar contents
  841.     LPFNOLEUIHOOK   lpfnHook;         //Hook callback
  842.     LPARAM          lCustData;        //Custom data to pass to hook
  843.     HINSTANCE       hInstance;        //Instance for customized template name
  844.     LPCSTR          lpszTemplate;     //Customized template name
  845.     HRSRC           hResource;        //Customized template handle
  846.  
  847.     //Specifics for OLEUIBUSY.
  848.     HTASK           hTask;            //IN: HTask which is blocking
  849.     HWND FAR *      lphWndDialog;     //IN: Dialog's HWND is placed here
  850.     } OLEUIBUSY, *POLEUIBUSY, FAR *LPOLEUIBUSY;
  851.  
  852. //API prototype
  853. STDAPI_(UINT) OleUIBusy(LPOLEUIBUSY);
  854.  
  855. // Flags for this dialog
  856.  
  857. // IN only: Disables "Cancel" button
  858. #define BZ_DISABLECANCELBUTTON          0x00000001L
  859.  
  860. // IN only: Disables "Switch To..." button
  861. #define BZ_DISABLESWITCHTOBUTTON        0x00000002L
  862.  
  863. // IN only: Disables "Retry" button
  864. #define BZ_DISABLERETRYBUTTON           0x00000004L
  865.  
  866. // IN only: Generates a "Not Responding" dialog as opposed to the
  867. // "Busy" dialog.  The wording in the text is slightly different, and
  868. // the "Cancel" button is grayed out if you set this flag.
  869. #define BZ_NOTRESPONDINGDIALOG          0x00000008L
  870.  
  871. // Busy specific error/return codes
  872. #define OLEUI_BZERR_HTASKINVALID     (OLEUI_ERR_STANDARDMAX+0)
  873.  
  874. // SWITCHTOSELECTED is returned when user hit "switch to"
  875. #define OLEUI_BZ_SWITCHTOSELECTED    (OLEUI_ERR_STANDARDMAX+1)
  876.  
  877. // RETRYSELECTED is returned when user hit "retry"
  878. #define OLEUI_BZ_RETRYSELECTED       (OLEUI_ERR_STANDARDMAX+2)
  879.  
  880. // CALLUNBLOCKED is returned when call has been unblocked
  881. #define OLEUI_BZ_CALLUNBLOCKED       (OLEUI_ERR_STANDARDMAX+3)
  882.  
  883. #endif // !RC_INVOKED
  884.  
  885. // Busy dialog identifiers
  886. #define IDBZ_RETRY                      600
  887. #define IDBZ_ICON                       601
  888. #define IDBZ_MESSAGE1                   602
  889. #define IDBZ_SWITCHTO                   604
  890.  
  891. // Busy dialog stringtable defines
  892. #define IDS_BZRESULTTEXTBUSY            32447
  893. #define IDS_BZRESULTTEXTNOTRESPONDING   32448
  894.  
  895. // Links dialog stringtable defines
  896. #define IDS_LINK_AUTO           32450
  897. #define IDS_LINK_MANUAL         32451
  898. #define IDS_LINK_UNKNOWN        32452
  899. #define IDS_LINKS               32453
  900. #define IDS_FAILED              32454
  901. #define IDS_CHANGESOURCE        32455
  902. #define IDS_INVALIDSOURCE       32456
  903. #define IDS_ERR_GETLINKSOURCE   32457
  904. #define IDS_ERR_GETLINKUPDATEOPTIONS    32458
  905. #define IDS_ERR_ADDSTRING       32459
  906. #define IDS_CHANGEADDITIONALLINKS   32460
  907. #define IDS_CLOSE               32461
  908.  
  909.  
  910. /*************************************************************************
  911. ** PROMPT USER DIALOGS
  912. *************************************************************************/
  913. #define ID_PU_LINKS             900
  914. #define ID_PU_TEXT              901
  915. #define ID_PU_CONVERT           902
  916. #define ID_PU_BROWSE            904
  917. #define ID_PU_METER             905
  918. #define ID_PU_PERCENT           906
  919. #define ID_PU_STOP              907
  920.  
  921. // used for -1 ids in dialogs:
  922. #define ID_DUMMY    999
  923.  
  924. #ifndef RC_INVOKED
  925.  
  926. /* inside ole2ui.c */
  927. #ifdef __cplusplus
  928. extern "C"
  929. #endif
  930. int EXPORT FAR CDECL OleUIPromptUser(WORD nTemplate, HWND hwndParent, ...);
  931.  
  932. #define UPDATELINKS_STARTDELAY  2000    // Delay before 1st link updates
  933.                                         //  to give the user a chance to
  934.                                         //  dismiss the dialog before any
  935.                                         //  links update.
  936.  
  937. STDAPI_(BOOL) OleUIUpdateLinks(
  938.         LPOLEUILINKCONTAINER lpOleUILinkCntr,
  939.         HWND hwndParent,
  940.         LPSTR lpszTitle,
  941.         int cLinks);
  942.  
  943. #endif // !RC_INVOKED
  944.  
  945. /*************************************************************************
  946. ** OLE OBJECT FEEDBACK EFFECTS
  947. *************************************************************************/
  948.  
  949. #ifndef RC_INVOKED
  950.  
  951. #define OLEUI_HANDLES_USEINVERSE    0x00000001L
  952. #define OLEUI_HANDLES_NOBORDER      0x00000002L
  953. #define OLEUI_HANDLES_INSIDE        0x00000004L
  954. #define OLEUI_HANDLES_OUTSIDE       0x00000008L
  955.  
  956.  
  957. #define OLEUI_SHADE_FULLRECT        1
  958. #define OLEUI_SHADE_BORDERIN        2
  959. #define OLEUI_SHADE_BORDEROUT       3
  960.  
  961. /* objfdbk.c function prototypes */
  962. STDAPI_(void) OleUIDrawHandles(LPRECT lpRect, HDC hdc, DWORD dwFlags, UINT cSize, BOOL fDraw);
  963. STDAPI_(void) OleUIDrawShading(LPRECT lpRect, HDC hdc, DWORD dwFlags, UINT cWidth);
  964. STDAPI_(void) OleUIShowObject(LPCRECT lprc, HDC hdc, BOOL fIsLink);
  965.  
  966. #endif // !RC_INVOKED
  967.  
  968. /*************************************************************************
  969. ** Hatch window definitions and prototypes                              **
  970. *************************************************************************/
  971.  
  972. #ifndef RC_INVOKED
  973.  
  974. #define DEFAULT_HATCHBORDER_WIDTH   4
  975.  
  976. STDAPI_(BOOL) RegisterHatchWindowClass(HINSTANCE hInst);
  977. STDAPI_(HWND) CreateHatchWindow(HWND hWndParent, HINSTANCE hInst);
  978. STDAPI_(UINT) GetHatchWidth(HWND hWndHatch);
  979. STDAPI_(void) GetHatchRect(HWND hWndHatch, LPRECT lpHatchRect);
  980. STDAPI_(void) SetHatchRect(HWND hWndHatch, LPRECT lprcHatchRect);
  981. STDAPI_(void) SetHatchWindowSize(
  982.         HWND        hWndHatch,
  983.         LPRECT      lprcIPObjRect,
  984.         LPRECT      lprcClipRect,
  985.         LPPOINT     lpptOffset
  986. );
  987.  
  988. #endif // !RC_INVOKED
  989.  
  990. /*************************************************************************
  991. ** VERSION VERIFICATION INFORMATION
  992. *************************************************************************/
  993.  
  994. // The following magic number is used to verify that the resources we bind
  995. // to our EXE are the same "version" as the LIB (or DLL) file which
  996. // contains these routines.  This is not the same as the Version information
  997. // resource that we place in OLE2UI.RC, this is a special ID that we will
  998. // have compiled in to our EXE.  Upon initialization of OLE2UI, we will
  999. // look in our resources for an RCDATA called "VERIFICATION" (see OLE2UI.RC),
  1000. // and make sure that the magic number there equals the magic number below.
  1001.  
  1002.  
  1003. #define OLEUI_VERSION_MAGIC 0x4D42
  1004.  
  1005. #endif  //_OLE2UI_H_
  1006.